モジュール詳細:サイモンの貯留

電卓を用意して…

このモジュールは9個のボタンで構成されており、そのうち6つはそれぞれ、赤(Red)、緑(Green)、青(Blue)、シアン(Cyan)、マゼンタ(Magenta)、黄(Yellow)の6色である。

これらのボタンは、中央のボタンから順に点滅し、各点滅色は下表の演算子に対応している。

各操作を最後まで連続して適用し、その結果から各ステージで押すべき色のボタンの順序を決定する。

ある時点で得た演算結果が-

  • 364より大きい場合、その値から365を引き、365より小さい値になるようにする。
  • -364より小さい場合、その値に365を加え、-365より大きい値にする。

セクション1:初期値の決定

演算子の文字列に入力する数字を決定するには、シリアルナンバーの以下の数字のペアを2桁の三十六進数の数字として解釈し、365で割った余りを計算する。

  • ステージ1の場合、3番目と4番目を使用し、a0を求める。
  • ステージ2の場合、5番目と6番目を使用し、b0を求める。
  • ステージ3の場合、1番目と2番目を使用し、c0を求める。

セクション2:演算表

それぞれのステージにおいて、各色は演算に関連付けられ、ここでは関数として表現されている。

  • n はシーケンスの現在のステップ数である。
  • D はシリアルナンバーの各文字を三十六進数の数字としたときの合計である。
ステージ 1 ステージ 2 ステージ 3
R R(x) = x + D R(x) = x + an-1 + n2 R(x) = x + bn-1 - an-1
G G(x) = x - D G(x) = 2x - an-1 G(x) = x - 2bn-1
B B(x) = 2x - D B(x) = 2x - a0 - 4n2 B(x) = x + b0 - a3
C C(x) = D - x - 8n C(x) = x + a1 C(x) = x - bn-1 + an-1
M M(x) = 3n3 - 2x M(x) = x + a2 - D M(x) = x - 2an-1
Y Y(x) = x + D - 6n Y(x) = x + a3 - an-1 Y(x) = x + b4 - a0

1つの色のみが点滅

1つの色のみが点滅した場合、点滅した色に対応する関数を適用するだけでよい。
an = F(an-1), bn = F(bn-1), cn = F(cn-1)とする。F(x)は現在適用している関数である。

2つの色が点滅

ここでの演算子は、点滅する色が加法混色に基づく原色(P)か二次色(S)かによって異なる。
P と S はそれぞれ点滅する色に対応する関数を示す。

ステージ 1 ステージ 2 ステージ 3
2P an =
max(P1(an-1), P2(an-1))
bn =
abs(P1(bn-1) - P2(bn-1))
cn =
P3(cn-1) + P3(bn-1) + P3(an-1)
1P, 1S an =
P(an-1) + S(an-1) - 2D
bn =
4D - abs(P(bn-1) - S(bn-1))
cn =
min(P(cn-1), S(cn-1), -abs(P(cn-1) - S(cn-1)))
2S an =
min(S1(an-1), S2(an-1))
bn =
max(S3(bn-1), S3(an-1))
cn =
S3(cn-1) - S1(cn-1) - S2(cn-1)

注: P3 と S3は、このステップで点滅しなかった各原色、二次色に対応する関数を指す。

3つの色が点滅

ステージ 1 ステージ 2 ステージ 3
3P an =
an-1 + a0
bn =
bn-1 + (bn-1 mod 4)b0 - a3
cn =
cn-1 + (cn-1 mod 3)c0 -
(bn-1 mod 3)b0 + (an-1 mod 3)a0
2P, 1S an =
max(P1(an-1),P2(an-1), S(an-1))
bn =
bn-1 + P1(bn-1) +
P2(bn-1) - S(an-1)
cn =
P1(cn-1) + P2(cn-1) - S(bn-1) - S(an-1)
1P, 2S an =
min(S1(an-1),S2(an-1), P(an-1))
bn =
bn-1 + S1(an-1) +
S2(an-1) - P(bn-1)
cn =
S1(cn-1) + S2(cn-1) - P(bn-1) - P(an-1)
3S an =
an-1 - a0
bn =
bn-1 + (b0 mod 4)bn-1 - a3
cn =
cn-1 + (c0 mod 3)cn-1 -
(b0 mod 3)bn-1 + (a0 mod 3)an-1

注: a4 はゼロに相当する。

セクション3:結果を変換する

一連の操作の結果が得られた後、それを平衡三進数(桁が1、0、-1の値を持つ三進数表記)に変換する必要がある。30 = 1 (最下位桁)から 35 = 243 (最上位桁)までの3の各べき乗数にそれを乗算し、それを合計すると目的の数になるような平衡三進数のシーケンスを求める。

セクション4:回答の入力と送信

どのボタンを押せばよいかは、まず、モジュール上のボタンの位置に関する条件リストを、初期シーケンス対応表の該当する段に対して、リストの先頭から順に適用していく。

初期シーケンス対応表303132333435
ステージ 1RGBCMY
ステージ 2YBGMCR
ステージ 3BMRYGC

もし......場合、シーケンスの...
右上のボタンが黄である各色を1つずつ右に移動させる。
赤のボタンとシアンのボタンが正反対の位置であるそれぞれの色の補色と交換する。
(R ↔ C、 G ↔ M、 B ↔ Y)
緑のボタンが白のボタンに隣接している原色を循環させる。
(R → G、 G → B、 B → R)
マゼンタのボタンが黒のボタンに隣接している二次色を循環させる。
(C → M、 M → Y、 Y → C)
青と黄のボタンが同じ側にあるBをシーケンスの反対側の色と交換する。
赤のボタンがモジュールの右側にあるR と Yを交換する。
青のボタンがモジュールの左側にあるG と Cを交換する。

今回のステージにおける、平衡三進数と3のべき乗に相当するボタンの両方が決定したら、以下の指示に従う。

  1. 中央のボタンを押す。すると、シーケンスの点滅が止まり、白いボタンが点灯する。
  2. 色のついたボタンを使用し、平衡三進数から0を除いた数字を最下位桁から最上位桁の順に入力する。
    • 白いボタンか黒いボタンを押すと、どちらを点灯させるかが切り替わる。
    • 白いボタンが点灯しているときに、色のついたボタンを押すと、対応する桁に「+1」が入力される。
    • 黒いボタンが点灯しているときに、色のついたボタンを押すと、対応する桁に「-1」が入力される。
  3. もう一度中央のボタンを押すと、一連の入力が確定し、送信される。

正しい順番で入力すると、モジュールは次のステージに進む。

誤った平衡三進数を送信したり、色のボタンを間違った順番で送信すると、ミスが記録される。